[AWS]組織レベルで特定ユーザーのみ操作を許可する
コンニチハ、千葉です。
アカウントや組織(OU)レベルで特定のユーザーのみ操作できるように設定してみました。具体的には、chiba.junというIAMユーザーまたはIAMロールのみS3バケットを作成する権限を付与し、それ以外のユーザーではS3バケットが作成できないようにしてみました。これを応用することで、さまざまな操作を特定のユーザーのみに限定できます。
やってみた
どうやるか、まずは以下のSCPに設定するポリシーを御覧ください。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Deny", "Action": [ "s3:CreateBucket" ], "Resource": [ "*" ], "Condition": { "StringNotLike": { "aws:PrincipalArn": "*chiba.jun*" } } } ] }
まずは、Effect:Deny
とAction:s3:CreateBucket
の部分でS3バケット作成できないポリシーを入れています。次に、Conditionで特定のユーザーを除外しています。つまり、除外したユーザーはS3バケットを作成できます。
aws:PrincipalArn
は、IAMユーザーまたはIAMロールのARNを指定します。今回は、ワイルドカードを使って名前が一致するIAMユーザーとIAMロールを許可しています。
マネージメントコンソールからOrganizationsへ移動します。まずはSCPポリシーを作成します。上記のポリシーを参考にaws:PrincipalArnを任意に変更して設定してください。
OUに対しSCPポリシーを設定します。。今回はOU chiba に対してポリシーを適用します。
それでは、対象のOU配下のアカウントに対してS3バケットを作成してみます。まずは、chiba.junユーザーで操作を行います。
問題なく作成できました!次にchiba.jun以外のユーザーでS3バケットを作成してみます。
権限エラーで作成できません!
さいごに
SCPを使い、特定のユーザーのみ操作権限を与えることができました。例えばIAMユーザー作成をとあるユーザーに制限することもできます。SCPを活用して素敵なAWSライフを!
参考
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/reference_policies_condition-keys.html